package com.briup.day07;/**
    * @author 谭梦寻
    * @version 1.1
*/
    public class School {
        private String name;
        private static String library = "辽东图书馆";
        private int num;

    {
//        没有名字的代码块 只能创建对象时 自动调用
//        构造(创建对象)代码块 构造器 构造方法
        System.out.println("构造代码块");
    }
    static {
//        静态代码块只加载一次：类加载只加载一次 jvm机只需要一次将该类加载
        System.out.println("静态代码块");
//        this不能放在静态代码块中
//        创建对象
//        School school = new School();//可以
    }
    public School() {
    }

    public School(String name, int num) {
        this.name = name;
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public  String getLibrary() {
        return library;
    }

    public void setLibrary(String library) {
        School.library = library;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }
    public static void method() {
//        静态方法不能访问非静态属性 --》 类的加载机制 先加载类的信息，后对象信息
//        静态信息优先加载 故非静态属性和方法还未加载 不能直接访问
//        非静态方法可以访问静态方法和静态属性，当然 其他非静态的也能访问
//        静态方法中没有this关键字 this是对象，静态方法是类名调用 刚加载时没有对象 虽然也能通过对象访问，但不推荐
//        System.out.println(num);//不能直接访问
        System.out.println("这是一个静态方法");

    }

    @Override
    public String toString() {
        return "School{" +
                "name='" + name + '\'' +
                ", num=" + num +
                '}';
    }
}
